package com.suli.multimedia.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.suli.multimedia.entity.ScenicTicket;
import com.suli.multimedia.entity.UserTicket;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author SuLi
 * @since 2022-04-02
 */
public interface ScenicTicketService extends IService<ScenicTicket> {

    /**
     * 分页获取门票
     * @param page 页码
     * @param limit 数量
     * @return 列表
     */
    Map<String,Object> getTicketByPage(Long page, Long limit);

    /**
     * 用户获取门票列表
     * @param page 页码
     * @param limit 数量
     * @return 门票列表
     */
    Map<String,Object> getTicketByPageUser(Long page, Long limit);

    /**
     * 根据id删除门票
     * @param ids 门票集合
     * @return 删除结果
     */
    boolean deleteTicketByIds(List<String> ids);

    /**
     * 根据电话号码查询购票情况
     * @param email 邮箱地址
     * @return 门票详情
     */
    Map<String,Object> searchTicketByEmail(String email,Long page,Long size);

    /**
     * 根据用户名查询购票情况
     * @param userName 用户名
     * @return 门票详情
     */
    Map<String,Object> searchTicketByName(String userName,Long page,Long size);

    /**
     * 根据订单id获取门票
     * @param id 订单id
     * @return 门票信息
     */
    Map<String,Object> searchTicketById(String id);

    /**
     * 创建订单
     * @param userTicket 门票信息
     * @return 创建结果信息
     */
    Map<String,String> createOrder(UserTicket userTicket);
}
